package main.贪心;

/**
 * @author tmh
 * @date 2024/8/8 16:34
 * @description
 */
public class T45跳跃游戏II {
    //每次跳的时候，不一定非要跳最远，但需要跳到下一次可以跳最远的地方

    public int jump(int[] nums) {
        int len = nums.length;
        //记录跳跃的最远位置
        int maxPosition=0;
        //记录跳跃的结束位置
        int end = 0;
        //记录步数
        int step  =0;
        for (int i =0 ;i<len-1;i++){
            //更新跳跃的最远位置
            maxPosition = Math.max(maxPosition,i+nums[i]);
            //如果当前位置=结束位置，那么就更新步数
            if (i==end){
                //更新结束位置
                end=maxPosition;
                step++;
            }
        }
        return step;
    }
}